An important metric in the performance of a file server is the time it takes to process a client request. A superior server will respond to client requests in the shortest amount of time. In the case of writes to the filesystem, a server is not permitted to acknowledge the request until it can guarantee that all user data will eventually make it to the disk array. If that data is stored in volatile memory within the server, a power outage would cause the complete loss of write data, violating its data integrity guarantees. Attaching the server to an uninterruptible power supply for any useful amount of time may be cost and space prohibitive.
The present invention guarantees that committed user data from all clients will eventually make it to disk, even if power to the system is interrupted for an extended period of time. It does not require any system-scale battery devices. Instead, only a small bank of battery-backed memory is used for persistent storage in the system.